import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Scanner;

/**
 * Created with IDEA
 * author:ju bai
 * Date:2021/4/26
 * Time:16:42
 **/
public class Main1 {
    /**
     * 每日一题-参数解析
     *
     * @param args
     */
    public static void main1(String[] args) {
        Scanner sc = new Scanner(System.in);
        while (sc.hasNext()) {
            String str = sc.nextLine();
            char[] s = str.toCharArray();
            List<String> list = new ArrayList<>();
            boolean state = false;//状态设为false
            String temp = "";
            for (int i = 0; i < s.length; i++) {
                if (s[i] == '"' && !state) {//表示遇到”,但是状态为false，说明此引号为左引号
                    state = true;//表示已出现引号，下一个就为右引号了
                } else if (s[i] == '\"' && state) {//表示遇到”,但是状态为true，说明此引号为右引号
                    //说明经历了一对引号
                    state = false;
                    temp += s[i + 1];//添加进来
                } else if (s[i] == ' ' && state) {//表示遇到空格,但是状态为true，说明是在引号中的空格
                    temp += s[i];
                } else if (s[i] == ' ') {//表示遇到空格，没有遇到引号
                    list.add(temp);//完整的添加进去
                    temp = "";//置为空，只是暂存引号中的内容
                } else {//其他情况
                    temp += s[i];
                }
            }
            list.add(temp);
            System.out.println(list.size());
            for (int i = 0; i < list.size(); i++) {
                System.out.println(list.get(i));
            }
        }
    }

    /**
     * 每日一题-参数解析
     */
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while (sc.hasNext()) {
            String str = sc.nextLine();
            int count = 0;
            for (int i = 0; i < str.length(); i++) {
                //让i遍历遇到“时，一组遍历，直到遇到下一个”
                if (str.charAt(i) == '"') {
                    do {
                        i++;
                    } while (str.charAt(i) != '"');
                }

                if (str.charAt(i) == ' ') {
                    count++;
                }
            }
            System.out.println(count + 1);
            int flag = 1;//表示在“内外的状态
            for (int i = 0; i < str.length(); i++) {
                if (str.charAt(i) == '"') {
                    flag ^= 1;//表示在”内
                }
                if (str.charAt(i) != '"' && str.charAt(i) != ' ') {
                    System.out.print(str.charAt(i));//输出
                }
                if (flag == 1 && str.charAt(i) == ' ') {//表示在双引号外的空格
                    System.out.println();//换行
                }
                if (flag == 0 && str.charAt(i) == ' ') {//表示在双引号内的空格
                    System.out.print(str.charAt(i));//换行
                }
            }
        }
    }
}
